package com.atguigu.lease.web.admin.custom.converter;

import com.atguigu.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

/**
 * @author 李俊伟
 * @date 2024/12/20 23:13
 */

// 为了这个参数拿到这个返回值我们得先注册一下
    // 因为这个自定义的转换器 （类）我们得让spring-boot/spring-mvc 知道（关联）
    //  然后才能调用这个转换器
@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {
    @Override
    // source : 被转换的数据（code）
    public ItemType convert(String source) {
//        ItemType.values()  获取枚举类的常量 （公寓和房间） 相当于一个数组
        for (ItemType value : ItemType.values()) {
            // 将String 类型的source数据转化为Integer类型  和枚举类的code（Integer类型）比较是否相等
            if (value.getCode().equals(Integer.valueOf(source))) {
                return value;
            }
        }
        return null;
    }
}